Recursive Programming with Proofs

نویسنده

  • Michel Parigot
چکیده

There has been a lot of work based on the paradigm “proofs as programs”, leading to sophisticated realizations (see e.g. [2,4, 133). An expected benefit is the development of correct programs, but, so far, no programming language in current use came from these works. The difficulty is the apparent distance between proofs and programs: the proofs are often complicated and the extracted programs have not always the expected behaviour (in terms of complexity, for instance). The proofs are not only programs, but also contain conceptual parts explaining why the result is what it is. One needs, therefore, to distinguish in the proofs the algorithmic content from the conceptual content. The distinction can be done at different levels: The logical operators. The propositional connectives have an algorithmic content, whereas the quantifiers can be considered as having only a conceptual role (the universal quantifier indicates a degree of generality). ~ The dejnition of the objects. The iterative and recursive definitions of the data types do not have the same algorithmic content (they correspond to different access to the data). The proofs themsehes. There are, for instance, different ways of doing proofs by induction; termination proofs often require computations which are not really necessary to compute the result. The choices made at each of these levels are crucial for the design of a programming language based on proofs. We explain in the remaining part of this introductory section the particular choices we have made to construct an experimental language called PROPRE (for PROgrammation avec des PREuves).

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

P´olya Urn Models and Connections to Random Trees: A Review

This paper reviews P´olya urn models and their connection to random trees. Basic results are presented, together with proofs that underly the historical evolution of the accompanying thought process. Extensions and generalizations are given according to chronology: • P´olya-Eggenberger’s urn • Bernard Friedman’s urn • Generalized P´olya urns • Extended urn schemes • Invertible urn schemes ...

متن کامل

Representing Proof Transformations for Program Optimization

In the proofs as programs methodology a program is derived from a formal constructive proof. Because of the close relationship between proof and program structure, transformations can be applied to proofs rather than to programs in order to improve performance. We describe a method for implementing transformations of formal proofs and show that it is applicable to the optimization of extracted ...

متن کامل

Programming Inductive Proofs - A New Approach Based on Contextual Types

In this paper, we present an overview to programming with proofs in the reasoning framework, Beluga. Beluga supports the specification of formal systems given by axioms and inference rules within the logical framework LF. It also supports implementing proofs about formal systems as dependently typed recursive functions. What distinguishes Beluga from other frameworks is that it not only represe...

متن کامل

Multi-Predicate Induction Schemes for Mutual Recursion

Where mutually recursive data types are used in programming languages, etc., mutually recursive functions are usually required. Mutually recursive functions are also quite common for non-mutually recursive types. Reasoning about recursive functions requires some form of mathematical induction but there have been difficulties in adapting induction methods for simple recursion to the mutually rec...

متن کامل

Structural Recursion over Contextual Objects

A core programming language is presented that allows structural recursion over open LF objects and contexts. The main technical tool is a coverage checking algorithm that also generates valid recursive calls. Termination of call-byvalue reduction is proven using a reducibility semantics. This establishes consistency and allows the implementation of proofs about LF specifications as well-founded...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • Theor. Comput. Sci.

دوره 94  شماره 

صفحات  -

تاریخ انتشار 1992